#include <stdio.h>

// 定义一个二维数组 a 和一个指针变量，该指针变量指向了二维数组 a
// 的某一行，并通过指针变量输出数组 a 的元素

int main() {
    int a[3][4] = {1, 2, 3, 4,
                   5, 6, 7, 8,
                   9, 10, 11, 12};
    int i, j;
    int (*p)[4];

    p = a; // 将数组a的首地址赋予p

    for (i = 0; i < 3; i++) {
        for (j = 0; j < 4; j++) {
            printf("%3d", *(*(p + i) + j));
        }
        printf("\n");
    }

    return 0;
}